package com.css.dzj.zfjg.modules.taskinfo.entity;

import com.css.dzj.zfjg.modules.jcdx.entity.JgLhjgJcdxEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * 联合监管任务书
 */
@Entity
@Table(name = "JG_LHJG_RWS", schema = "DZJZFJG", catalog = "")
public class JgLhjgRwsEntity {
    private String taskno;
    private String taskname;
    private String reportregionno;
    private String reportregionname;
    private String initiateunitno;
    private String initiateunitname;
    private String uniondeptno;
    private String uniondeptname;
    private String superviseobjectno;
    private String inspectcontent;
    private String inspectclaim;
    private Date taskstarttime;
    private Date taskendtime;
    private String remark;
    private String taskJgType;
    private String createUser;
    private String launchBureau;
    private String launchDepartment;
    private String taskState;
    private Date createTime;
    private String updateUser;
    private Date updateTime;
    private Date launchTime;
    private Date receiveTime;
    private String launchUser;
    private Date fbTime;
    private Date endTime;
    private Date fkTime;
    private String delFlag;
    private String initiateUnitType;
    private String file;
    private String unionDeptType;
    private String unionSectionNo;
    private String unionSectionName;
    private String unionAreaNo;
    private String unionAreaName;
    private String taskType;
    private String launchState;
    private String taskId;
    @Basic
    @Column(name = "taskno")
    public String getTaskno() {
        return taskno;
    }

    public void setTaskno(String taskno) {
        this.taskno = taskno;
    }

    @Basic
    @Column(name = "taskname")
    public String getTaskname() {
        return taskname;
    }

    public void setTaskname(String taskname) {
        this.taskname = taskname;
    }

    @Basic
    @Column(name = "reportregionno")
    public String getReportregionno() {
        return reportregionno;
    }

    public void setReportregionno(String reportregionno) {
        this.reportregionno = reportregionno;
    }

    @Basic
    @Column(name = "reportregionname")
    public String getReportregionname() {
        return reportregionname;
    }

    public void setReportregionname(String reportregionname) {
        this.reportregionname = reportregionname;
    }

    @Basic
    @Column(name = "initiateunitno")
    public String getInitiateunitno() {
        return initiateunitno;
    }

    public void setInitiateunitno(String initiateunitno) {
        this.initiateunitno = initiateunitno;
    }

    @Basic
    @Column(name = "initiateunitname")
    public String getInitiateunitname() {
        return initiateunitname;
    }

    public void setInitiateunitname(String initiateunitname) {
        this.initiateunitname = initiateunitname;
    }

    @Basic
    @Column(name = "uniondeptno")
    public String getUniondeptno() {
        return uniondeptno;
    }

    public void setUniondeptno(String uniondeptno) {
        this.uniondeptno = uniondeptno;
    }

    @Basic
    @Column(name = "uniondeptname")
    public String getUniondeptname() {
        return uniondeptname;
    }

    public void setUniondeptname(String uniondeptname) {
        this.uniondeptname = uniondeptname;
    }

    @Basic
    @Column(name = "superviseobjectno")
    public String getSuperviseobjectno() {
        return superviseobjectno;
    }

    public void setSuperviseobjectno(String superviseobjectno) {
        this.superviseobjectno = superviseobjectno;
    }

    @Basic
    @Column(name = "inspectcontent")
    public String getInspectcontent() {
        return inspectcontent;
    }

    public void setInspectcontent(String inspectcontent) {
        this.inspectcontent = inspectcontent;
    }

    @Basic
    @Column(name = "inspectclaim")
    public String getInspectclaim() {
        return inspectclaim;
    }

    public void setInspectclaim(String inspectclaim) {
        this.inspectclaim = inspectclaim;
    }

    @Basic
    @Column(name = "taskstarttime")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getTaskstarttime() {
        return taskstarttime;
    }

    public void setTaskstarttime(Date taskstarttime) {
        this.taskstarttime = taskstarttime;
    }

    @Basic
    @Column(name = "taskendtime")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getTaskendtime() {
        return taskendtime;
    }

    public void setTaskendtime(Date taskendtime) {
        this.taskendtime = taskendtime;
    }

    @Basic
    @Column(name = "remark")
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Basic
    @Column(name = "Task_Jg_type")
    public String getTaskJgType() {
        return taskJgType;
    }

    public void setTaskJgType(String taskJgType) {
        this.taskJgType = taskJgType;
    }

    @Basic
    @Column(name = "Create_User")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "Launch_Bureau")
    public String getLaunchBureau() {
        return launchBureau;
    }

    public void setLaunchBureau(String launchBureau) {
        this.launchBureau = launchBureau;
    }

    @Basic
    @Column(name = "Launch_Department")
    public String getLaunchDepartment() {
        return launchDepartment;
    }

    public void setLaunchDepartment(String launchDepartment) {
        this.launchDepartment = launchDepartment;
    }

    @Basic
    @Column(name = "Task_State")
    public String getTaskState() {
        return taskState;
    }

    public void setTaskState(String taskState) {
        this.taskState = taskState;
    }

    @Basic
    @Column(name = "Create_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "Update_User")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "Update_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "Launch_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getLaunchTime() {
        return launchTime;
    }

    public void setLaunchTime(Date launchTime) {
        this.launchTime = launchTime;
    }

    @Basic
    @Column(name = "Receive_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getReceiveTime() {
        return receiveTime;
    }

    public void setReceiveTime(Date receiveTime) {
        this.receiveTime = receiveTime;
    }

    @Basic
    @Column(name = "Launch_User")
    public String getLaunchUser() {
        return launchUser;
    }

    public void setLaunchUser(String launchUser) {
        this.launchUser = launchUser;
    }

    @Basic
    @Column(name = "Fb_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getFbTime() {
        return fbTime;
    }

    public void setFbTime(Date fbTime) {
        this.fbTime = fbTime;
    }

    @Basic
    @Column(name = "End_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    @Basic
    @Column(name = "Fk_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getFkTime() {
        return fkTime;
    }

    public void setFkTime(Date fkTime) {
        this.fkTime = fkTime;
    }

    @Basic
    @Column(name = "Del_Flag")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Basic
    @Column(name = "Initiate_Unit_Type")
    public String getInitiateUnitType() {
        return initiateUnitType;
    }

    public void setInitiateUnitType(String initiateUnitType) {
        this.initiateUnitType = initiateUnitType;
    }

    @Basic
    @Column(name = "file")
    public String getFile() {
        return file;
    }

    public void setFile(String file) {
        this.file = file;
    }

    @Basic
    @Column(name = "Union_Dept_Type")
    public String getUnionDeptType() {
        return unionDeptType;
    }

    public void setUnionDeptType(String unionDeptType) {
        this.unionDeptType = unionDeptType;
    }

    @Basic
    @Column(name = "Union_Section_No")
    public String getUnionSectionNo() {
        return unionSectionNo;
    }

    public void setUnionSectionNo(String unionSectionNo) {
        this.unionSectionNo = unionSectionNo;
    }

    @Basic
    @Column(name = "Union_Section_Name")
    public String getUnionSectionName() {
        return unionSectionName;
    }

    public void setUnionSectionName(String unionSectionName) {
        this.unionSectionName = unionSectionName;
    }

    @Basic
    @Column(name = "Union_Area_No")
    public String getUnionAreaNo() {
        return unionAreaNo;
    }

    public void setUnionAreaNo(String unionAreaNo) {
        this.unionAreaNo = unionAreaNo;
    }

    @Basic
    @Column(name = "Union_Area_Name")
    public String getUnionAreaName() {
        return unionAreaName;
    }

    public void setUnionAreaName(String unionAreaName) {
        this.unionAreaName = unionAreaName;
    }

    @Basic
    @Column(name = "Task_Type")
    public String getTaskType() {
        return taskType;
    }

    public void setTaskType(String taskType) {
        this.taskType = taskType;
    }

    @Basic
    @Column(name = "Launch_State")
    public String getLaunchState() {
        return launchState;
    }

    public void setLaunchState(String launchState) {
        this.launchState = launchState;
    }

    @Id
    @Column(name = "Task_Id")
    /*@GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "com.css.dzj.zfjg.common.util.SnowflakeId")*/
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        JgLhjgRwsEntity that = (JgLhjgRwsEntity) o;
        return Objects.equals(taskno, that.taskno) &&
                Objects.equals(taskname, that.taskname) &&
                Objects.equals(reportregionno, that.reportregionno) &&
                Objects.equals(reportregionname, that.reportregionname) &&
                Objects.equals(initiateunitno, that.initiateunitno) &&
                Objects.equals(initiateunitname, that.initiateunitname) &&
                Objects.equals(uniondeptno, that.uniondeptno) &&
                Objects.equals(uniondeptname, that.uniondeptname) &&
                Objects.equals(superviseobjectno, that.superviseobjectno) &&
                Objects.equals(inspectcontent, that.inspectcontent) &&
                Objects.equals(inspectclaim, that.inspectclaim) &&
                Objects.equals(taskstarttime, that.taskstarttime) &&
                Objects.equals(taskendtime, that.taskendtime) &&
                Objects.equals(remark, that.remark) &&
                Objects.equals(taskJgType, that.taskJgType) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(launchBureau, that.launchBureau) &&
                Objects.equals(launchDepartment, that.launchDepartment) &&
                Objects.equals(taskState, that.taskState) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(launchTime, that.launchTime) &&
                Objects.equals(receiveTime, that.receiveTime) &&
                Objects.equals(launchUser, that.launchUser) &&
                Objects.equals(fbTime, that.fbTime) &&
                Objects.equals(endTime, that.endTime) &&
                Objects.equals(fkTime, that.fkTime) &&
                Objects.equals(delFlag, that.delFlag) &&
                Objects.equals(initiateUnitType, that.initiateUnitType) &&
                Objects.equals(file, that.file) &&
                Objects.equals(unionDeptType, that.unionDeptType) &&
                Objects.equals(unionSectionNo, that.unionSectionNo) &&
                Objects.equals(unionSectionName, that.unionSectionName) &&
                Objects.equals(unionAreaNo, that.unionAreaNo) &&
                Objects.equals(unionAreaName, that.unionAreaName) &&
                Objects.equals(taskType, that.taskType) &&
                Objects.equals(launchState, that.launchState) &&
                Objects.equals(taskId, that.taskId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(taskno, taskname, reportregionno, reportregionname, initiateunitno, initiateunitname, uniondeptno, uniondeptname, superviseobjectno, inspectcontent, inspectclaim, taskstarttime, taskendtime, remark, taskJgType, createUser, launchBureau, launchDepartment, taskState, createTime, updateUser, updateTime, launchTime, receiveTime, launchUser, fbTime, endTime, fkTime, delFlag, initiateUnitType, file, unionDeptType, unionSectionNo, unionSectionName, unionAreaNo, unionAreaName, taskType, launchState, taskId);
    }
}
